/**
 * 极光推送.
 */

//10分钟获取一次
var INTERVAL_TIME = 1000 * 60 * 10;

//设置标签与别名
function setAliasAndTags() {
    var tags = new Array("mEIP");
    var params = {
        alias : "mEIP",
        tags : tags
    };

    uexJPush.setAliasAndTags(JSON.stringify(params));
}

//客户端注册监听
function onReceiveRegistration(info) {

}

//收到了通知
function onReceiveNotification(info) {

}

//用户点击了通知
function onReceiveNotificationOpen(info) {
    Supp.UI.openWidget({
        appId : 'EIPNEWS',
        page : '/meip/news/news_view.html',
        params : {
            newsId : '4028844d608b42af01608ca98c8400ce'
        }
    });
}

//启动定期获取推送消息服务
function startGetPushMessageTimerService() {
    setInterval(function() {
        Supp.ajax({
            "type" : "get",
            url : "/TEST_DATA/todoList.json",
            isAuto : false,
            callback : function(data) {
                if (data.successful) {
                    uexJPush.clearLocalNotifications();

                    var MAX_COUNT = 3;

                    if (data.body.totalCount >= MAX_COUNT) {
                        var json = {
                            builderId : 0, //long 设置本地通知样式(仅Android有效)
                            title : Supp.I18N.prop("push_msg-title", data.body.totalCount), //本地通知的title
                            content : "", //设置本地通知的content
                            extras : {
                                key : 1
                            }, //额外的数据信息extras为json字符串
                            notificationId : 10, //int 设置本地通知的ID
                            broadCastTime : 1000//long 设置本地通知延迟触发时间，毫秒为单位，如设置10000为延迟10秒添加通知
                        };

                        uexJPush.addLocalNotification(JSON.stringify(json));
                    } else {
                        var resultList = data.body.list;

                        for (var i = 0; i < resultList.length; i++) {
                            var json = {
                                builderId : 0, //long 设置本地通知样式(仅Android有效)
                                title : Supp.I18N.prop("push_msg-title", 1), //本地通知的title
                                content : resultList[i].subTitle, //设置本地通知的content
                                extras : {
                                    id : resultList[i].id,
                                    busiEntityName : resultList[i].busiEntityName,
                                    hasReceived : resultList[i].hasReceived,
                                    webPageUrl : resultList[i].webPageUrl
                                }, //额外的数据信息extras为json字符串
                                notificationId : parseInt(resultList[i].id), //int 设置本地通知的ID
                                broadCastTime : 1000//long 设置本地通知延迟触发时间，毫秒为单位，如设置10000为延迟10秒添加通知
                            };

                            uexJPush.addLocalNotification(JSON.stringify(json));
                        }
                    }//END IF!

                    //显示角标(不太好用)
                    if (Supp.MEIP.enableBadgeNumber() && uexJPush.setBadgeNumber) {

                        //设置应用图标上显示的未读条数
                        uexJPush.setBadgeNumber(data.body.totalCount);
                        //
                        var DISABLED = 1;
                        //1-禁止 其他-允许
                        uexJPush.disableLocalNotificationAlertView(DISABLED);
                    }
                }
            }
        });
    }, INTERVAL_TIME);
}

//启动极光推送
function startJPushTask() {
    if (!Supp.MEIP.enableMessagePush()) {
        return;
    }

    try {
        //设置标签与别名
        setAliasAndTags();

        //应用程序注册监听
        uexJPush.onReceiveRegistration = onReceiveRegistration;

        //收到了通知
        uexJPush.onReceiveNotification = onReceiveNotification;

        //点击了通知
        uexJPush.onReceiveNotificationOpen = onReceiveNotificationOpen;

        // startGetPushMessageTimerService();
    } catch (e) {
        try {
            getLog().error("启动极光推送失败", e);
        } catch (e) {
        }
    }
}

